#include <iostream>
#include <string>
#include <vector>

size_t split(const std::string& str, const std::string& sep, std::vector<std::string>* result)
{
    size_t pos, idx = 0;
    while (idx < str.size())
    {
        pos = str.find(sep, idx);
        if(pos == std::string::npos)
        {
            result->emplace_back(str.substr(idx));
            break;
        }
        if(pos != idx) result->emplace_back(str.substr(idx, pos - idx));
        idx = pos + sep.size();
    }
    return result->size();
}

int main()
{
    std::string str = "...news....music..#.pop...";
    std::vector<std::string> output;
    int n = split(str, ".", &output);
    std::cout << n << '\n';
    for(auto& s : output) std::cout << s << '\n';
    return 0;
}